Electronic device manufacturers strive to produce a rich interface for users. Conventional devices use visual and auditory cues to provide feedback to a user. In some interface devices, kinesthetic feedback (such as active and resistive force feedback) and/or tactile feedback (such as vibration, texture, and heat) is also provided to the user, more generally known collectively as “haptic feedback.” Haptic feedback can provide cues that enhance and simplify the user interface. Specifically, vibration effects, or vibrotactile haptic effects, may be useful in providing cues to users of electronic devices to alert the user to specific events, or provide realistic feedback to create greater sensory immersion within a simulated or virtual environment.
Haptic feedback has also been increasingly incorporated in portable electronic devices, such as cellular telephones, personal digital assistants (“PDA”s), portable gaming devices, and a variety of other portable electronic devices. For example, some portable gaming applications are capable of vibrating in a manner similar to control devices (e.g., joysticks, etc.) used with larger-scale gaming systems that are configured to provide haptic feedback. Additionally, devices such as cellular telephones and PDAs are capable of providing various alerts to users by way of vibrations. For example, a cellular telephone can alert a user to an incoming telephone call by vibrating. Similarly, a PDA can alert a user to a scheduled calendar item or provide a user with a reminder for a “to do” list item or calendar appointment.
In many devices, an actuator is used to create the vibrations that comprise some haptic feedback. Digital-to-analog (“D/A”) converter ports or pulse width modulation (“PWM”) ports embedded in the main microcontroller are sometimes used to control the actuator. For cost and efficiency reasons, the PWM port is preferred over the D/A port. A PWM signal is a method of generating analog values with a digital signal switched at very high frequencies (e.g., >1 KHz and typically as high as 200 KHz), while varying the duty cycle. The high frequencies are usually generated on dedicated hardware, and the duty cycle is usually modified at low frequencies (<1 KHz) by software to control the magnitude of the actuator.
A typical portable electronic devices, such as a cellular telephone, operates at a relatively low frequency (e.g., <200 Hz) which is the frequency typically used to modify the PWM duty cycle. Although not an optimal implementation, the low frequency is able to generate a wide range of magnitudes that for haptic effects are sufficient to create compelling vibration effects. However, because of the complexity of the required driving electronic circuits for A/D or PWM ports, the large amount of required circuit board space, and the high electronic costs, a need developed for a new method and interface for controlling the magnitude of the actuator. New devices to satisfy this need use a simple General Purpose Input Output (“GPIO”) port, as opposed to the D/A or PWM ports, thus reducing the implementation cost of controlling the actuator since no dedicated hardware to generate a high PWM signal is required. However, the GPIO devices have introduced a need for an improved system and method for generating PWM signals in a low frequency device.